//LittlePig
#include<bits/stdc++.h>
using namespace std;
int t,n;
int a[2111];
long long f[2111][2111];
long long fin(int l,int r)
{
    long long ans=0;
    for(int i=l+1;i<=r;i++) if(a[i]==a[i-1]) ans=ans+a[i];
    return ans;
}
void solve()
{
    scanf("%d",&n);
    memset(f,0,sizeof(f));
    for(int i=1;i<=n;i++)
    {
        scanf("%d",&a[i]);
        for(int j=1;j<i;j++)
        {
            for(int k=0;k<=j;k++)
            {
                if(j!=i-1) f[i][i-1]=max(f[i][i-1],f[j][k]+(a[i]==a[j]?a[j]:0)+fin(j+1,i-1)+(a[k]==a[j+1]?a[j+1]:0));
                else f[i][k]=max(f[i][k],f[j][k]+(a[i]==a[j]?a[j]:0));
            }
        }
    }
    /*
    for(int i=1;i<=n;i++)
    {
        for(int j=0;j<i;j++)
        {
            cout<<f[i][j]<<' ';
        }
        cout<<endl;
    }
    */
        long long ans=0;
        for(int i=1;i<=n;i++)
        {
            for(int j=0;j<i;j++)ans=max(ans,f[i][j]+fin(i+1,n)+(a[j-1]==a[i+1]?a[i+1]:0));
        }
        printf("%lld\n",ans);
}
int main()
{
    freopen("color.in","r",stdin);
    freopen("color.out","w",stdout);
    scanf("%d",&t);
    for(int i=1;i<=t;i++)solve();
    return 0;
}
